<#include "macro.ftl">
<#include "license.ftl">
<@license/>
package ${doc.all.package}.gwt.constants;

import com.google.gwt.core.client.GWT;

/**
* @author Redora (www.redora.net)
*/
public interface GlobalEnumConstants extends com.google.gwt.i18n.client.Constants {

<#list doc["//globals/enum"] as att>
        <#if att.caption[0]??>
            <#assign hasDefaultLanguage = "false" />
            <#list att.caption as cap>
                <#if cap.@language == doc.all.languages.@defaultLanguage>
                    <#assign hasDefaultLanguage = "true" />
                    <#if cap.@table[0]??>
    @DefaultStringValue("${cap.@table}")
    @Key("${att.@fieldName}.table")
    String ${att.@fieldName}_table();
                    <#else>
    @DefaultStringValue("${cap.@form}")
    @Key("${att.@fieldName}.table")
    String ${att.@fieldName}_table();
                    </#if>
    @DefaultStringValue("${cap.@form}")
    @Key("${att.@fieldName}.form")
    String ${att.@fieldName}_form();	
                </#if>
            </#list>
            <#if hasDefaultLanguage == "false">
            <#assign defaultStringValue = att.@fieldName>
        <@cap_and_split_default fieldName=att.@fieldName />
    @DefaultStringValue("${defaultStringValue}")
    @Key("${att.@fieldName}.table")
    String ${att.@fieldName}_table();

    @DefaultStringValue("${defaultStringValue}")
    @Key("${att.@fieldName}.form")
    String ${att.@fieldName}_form();
            </#if>
        <#else>
        <#assign defaultStringValue = att.@fieldName>
        <@cap_and_split_default fieldName=att.@fieldName />
    @DefaultStringValue("${defaultStringValue}")
    @Key("${att.@fieldName}.table")
    String ${att.@fieldName}_table();

    @DefaultStringValue("${defaultStringValue}")
    @Key("${att.@fieldName}.form")
    String ${att.@fieldName}_form();
        </#if>				
        <#list att.element as value>
            <#if value.caption[0]??>
                <#assign hasDefaultLanguage = "false" />
                <#list value.caption as cap>
                    <#if cap.@language == doc.all.languages.@defaultLanguage>
                        <#assign hasDefaultLanguage = "true" />
                        <#if cap.@table[0]??>
    @DefaultStringValue("${cap.@table}")
    @Key("${att.@fieldName}.${value.@name}.table")
    String ${att.@fieldName}_${value.@name}_table();
                        <#else>
    @DefaultStringValue("${cap.@form}")
    @Key("${att.@fieldName}.${value.@name}.table")
    String ${att.@fieldName}_${value.@name}_table();
                        </#if>
    @DefaultStringValue("${cap.@form}")
    @Key("${att.@fieldName}.${value.@name}.form")
    String ${att.@fieldName}_${value.@name}_form();
                    </#if>
                </#list>
                <#if hasDefaultLanguage == "false">
                <#assign defaultStringValue = value.@name>
            <@cap_and_split_default fieldName=value.@name />
    @DefaultStringValue("${defaultStringValue}")
    @Key("${att.@fieldName}.${value.@name}.table")
    String ${att.@fieldName}_${value.@name}_table();

    @DefaultStringValue("${defaultStringValue}")
    @Key("${att.@fieldName}.${value.@name}.form")
    String ${att.@fieldName}_${value.@name}_form();
                </#if>
            <#else>
            <#assign defaultStringValue = value.@name>
            <@cap_and_split_default fieldName=value.@name />
    @DefaultStringValue("${defaultStringValue}")
    @Key("${att.@fieldName}.${value.@name}.table")
    String ${att.@fieldName}_${value.@name}_table();

    @DefaultStringValue("${defaultStringValue}")
    @Key("${att.@fieldName}.${value.@name}.form")
    String ${att.@fieldName}_${value.@name}_form();
            </#if>
        </#list>
    </#list>
}